package com.zhaowudi.wj.controller;

import com.zhaowudi.wj.pojo.User;
import com.zhaowudi.wj.result.Result;
import com.zhaowudi.wj.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.util.HtmlUtils;

import javax.servlet.http.HttpSession;
import java.util.Objects;


@Controller
public class LoginController {
    @Autowired
    UserService userService;

    /*
    跨域 限制哪些网页可以访问 api
    常用的属性有2个，分别是origins和maxAge，下面分别解释下：

    origins 是一个字符串数组的类型（String []），用于表示那些域名可以访问此接口/映射。多个域名之间用逗号“，”隔开，如果想向所有网址开放，可以直接填写星号“*”。
    maxAge 还没有找到官方的说明，其他开发者解释为“预请求的结果的有效期”，即COOKIE的有效期，单位是秒。
     */
    @CrossOrigin
    @PostMapping(value = "api/login")
    @ResponseBody
    public Result login(@RequestBody User requestuser , HttpSession session){
        Result result = new Result();
        String namename = requestuser.getUsername();
        namename = HtmlUtils.htmlEscape(namename);
        User user = userService.get(namename, requestuser.getPassword());
        //if (Objects.equals("admin", name) || Objects.equals("123456", requestuser.getPassword())){
        if(null == user){
            System.out.println("密码错误");
            result.code = 400;
            result.data = "密码错误";

        }else{
            session.setAttribute("user", user);
            result.code = 200;
            result.data = user;
        }
        return result;
    }
}
